home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1998 / MacHack 1998.toast / Sessions / Completions / Completions Source / Pumps / ObjectPump.h < prev    next >
Encoding:
Text File  |  1998-06-14  |  631 b   |  37 lines  |  [TEXT/CWIE]

  1. // ObjectPump.h
  2.  
  3. #ifndef ObjectPump_h
  4. #define ObjectPump_h
  5.  
  6. #ifndef TaskSequencer_h
  7. #include "TaskSequencer.h"
  8. #endif
  9.  
  10. class PipeOutput;
  11. template < class DeliveryTime > class Pumpable;
  12.  
  13. template < class DeliveryTime >
  14. class ObjectPump
  15.   {
  16.     public:
  17.         typedef ObjectPump<DeliveryTime> Pump;
  18.         typedef Pumpable<DeliveryTime> Target;
  19.         typedef TaskStep< Pump > Step;
  20.         
  21.     private:
  22.         PipeOutput *pipe;
  23.         Target *target;
  24.         
  25.         TaskSequencer< Pump > sequence;
  26.  
  27.         Step Accept( bool dying, DeferredTaskTime );
  28.         Step Deliver( bool dying, DeliveryTime );
  29.         
  30.     public:
  31.         ObjectPump();
  32.         
  33.         Task *operator()( PipeOutput&, Target& );
  34.   };
  35.  
  36. #endif
  37.